package com.szy.douyou_article.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.szy.douyou_article.config.ResultDTO;
import com.szy.douyou_article.dao.Users;
import com.szy.douyou_article.dao.req.UserReq;

/**
 * @author sunziyan
 * @date 2022/2/22
 */
public interface UsersService {

    /**
     * 根据uesrId获取用户信息
     * @param userId
     * @return
     */
    Users getUserById(Long userId);

    /**
     * 根据用户名获取用户信息
     * @param userName
     * @param password
     * @return
     */
    ResultDTO<Users> getUserByUserName(String userName, String password);

    /**
     * 添加用户
     * @param user
     * @return
     */
    ResultDTO addUser(Users user);

    /**
     * 更新用户信息（不包括密码）
     * @param user
     * @return
     */
    ResultDTO<Users> updateOneUser(Users user);

    /**
     * 全部搜索或根据userName分页搜索
     * @param userReq
     * @return
     */
    ResultDTO<Page<Users>> queryUser(UserReq userReq);


    /**
     * 删除账号
     * @param userId
     * @return
     */
    ResultDTO deleteUser(Long userId);

}
